#include "xmlWidget.h"
using namespace xmlWidgetLib;


#include <iostream>
#include <string>
using namespace std;

#include "xmlWidgetEventHandler.h"
#include "xmlWidgetLuaEngine.h"
#include "logManager.h"

/*
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*/
void xmlWidgetLib::MainWindowDestroy_CallBack ( GtkWidget * ,gpointer data )
{
	logger << __FUNCTION__ << " Start" << endl;

	gtk_main_quit();

	logger << __FUNCTION__ << " Success" << endl;
}
/*
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*/
void xmlWidgetLib::FileSelectionDestroy_CallBack ( GtkWidget * ,gpointer data )
{
	logger << __FUNCTION__ << " Start" << endl;
	xmlWidget *widget = ( xmlWidget *)data;
	widget->parseXmlFileSelection();
	logger << __FUNCTION__ << " Success" << endl;
}
/*
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*/
void xmlWidgetLib::MenuItem_CallBack ( xmlWidget * widget )
{
	logger << __FUNCTION__ << " Start" << endl;

	string action = widget->getAction( "activate" );
	logger << action << endl;
	if( action.empty() )
	{
		return;
	}
	xmlWidgetLuaEngine *luaEngine = xmlWidgetLuaEngine::getGlobalInstance();
	luaEngine->doLuaAction(action.c_str(),widget);

	logger << __FUNCTION__ << " Success" << endl;
}
/*
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*/
void xmlWidgetLib::FileSelectionOK_CallBack ( xmlWidget * widget )
{
	logger << __FUNCTION__ << " Start" << endl;

	string action = widget->getAction( "OK" );
	logger << action << endl;
	if( action.empty() )
	{
		logger << " No action " << endl;
		return;
	}
	xmlWidgetLuaEngine *luaEngine = xmlWidgetLuaEngine::getGlobalInstance();
	luaEngine->doLuaAction(action.c_str(),widget);

	logger << __FUNCTION__ << " Success" << endl;
}
/*
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*******************************************************************************************
*/
void xmlWidgetLib::FileSelectionCancel_CallBack ( xmlWidget * widget )
{
	logger << __FUNCTION__ << " Start" << endl;

	string action = widget->getAction( "Cancel" );
	logger << action << endl;
	if( action.empty() )
	{
		logger << " No action " << endl;
		return;
	}
	xmlWidgetLuaEngine *luaEngine = xmlWidgetLuaEngine::getGlobalInstance();
	luaEngine->doLuaAction(action.c_str(),widget);

	logger << __FUNCTION__ << " Success" << endl;
}